﻿using System;
namespace Refl.Dreaming
{
    /// <summary>
    /// This interface explicits the methods and properties a class must have in order to be considered a Dream.
    /// </summary>
    public interface IDream
    {
        System.Collections.Generic.List<DreamError> Errors { get; }

        bool HasErrors { get; }

        bool Invoke();

        string Name { get; }

        void InsertObject(string name, object obj);

        dynamic RetrieveObject(string name);
    }
}
